#!/sbin/openrc-run

: ${mqtt_broker:="msg.alpinelinux.org"}
: ${mqtt_topics:="git/aports/$git_branch"}

command=/usr/bin/mqtt-exec
command_user="${exec_user:-nobody}"
pidfile=/run/$SVCNAME/mqtt-exec.pid
supervisor=supervise-daemon
supervise_daemon_args="--stdout /dev/null --stderr /dev/null"

depend() {
	need localmount net
	after firewall
}

start_pre() {
	checkpath --directory --owner ${exec_user:-nobody} ${pidfile%/*}

	set -- $command_args -h ${mqtt_broker} -v
	local topic; for topic in $mqtt_topics; do
		 set -- "$@" -t "$topic"
	done

	if [ -n "$will_topic" ]; then
		set -- "$@" --will-topic "$will_topic"
	fi
	if yesno "$will_retain"; then
		set -- "$@" --will-retain
	fi
	if [ -n "$will_payload" ]; then
		set -- "$@" --will-payload "$will_payload"
	fi
	if [ -n "$will_qos" ]; then
		set -- "$@" --will-qos "$will_qos"
	fi

	set -- "$@" -- ${exec_command}

	command_args="$@"
}

